iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
自我挑戰組

那些有趣的程式系列 第 5

【Day5】從零開始的程式大亂鬥:算術運算

  • 分享至 

  • xImage
  •  

今天要說的是 C、Python、JavaScript 的算術運算。

程式語言中有提供基本的加 + 、減 - 、乘 * 、除 / 以及求餘數 % 的算術運算子。算術運算基本上與數學運算相同,都是從左至右,先乘除後加減,括號內先算。

四則運算

C

#include <stdio.h>

int main() {
    // 由左往右運算
    printf("10 + 2 = %d\n", 10 + 2);
    printf("10 - 2 = %d\n", 10 - 2);
    printf("10 * 2 = %d\n", 10 * 2);
    printf("10 / 2 = %d\n", 10 / 2);
    printf("10 %% 2 = %d\n", 10 % 2);

    // 先乘除後加減
    printf("10 + 10 * 2 = %d\n", 10 + 10 * 2);
    printf("10 - 10 / 2 = %d\n", 10 - 10 / 2);

    // 括號內先算
    printf("(10 + 10) * 2 = %d\n", (10 + 10) * 2);
    printf("(10 - 10) / 2 = %d\n", (10 - 10) / 2);

    return 0;
}

輸出結果:

10 + 2 = 12
10 - 2 = 8
10 * 2 = 20
10 / 2 = 5
10 % 2 = 0
10 + 10 * 2 = 30
10 - 10 / 2 = 5
(10 + 10) * 2 = 40
(10 - 10) / 2 = 0

Python

# 由左往右運算
print('10 + 2 = ', 10 + 2)
print('10 - 2 = ', 10 - 2)
print('10 * 2 = ', 10 * 2)
print('10 / 2 = ', 10 / 2)
print('10 % 2 = ', 10 % 2)

# 先乘除後加減
print('10 + 10 * 2 = ', 10 + 10 * 2)
print('10 - 10 / 2 = ', 10 - 10 / 2)

# 括號內先算
print('(10 + 10) * 2 = ', (10 + 10) * 2)
print('(10 - 10) / 2 = ', (10 - 10) / 2)

輸出結果:

10 + 2 = 12
10 - 2 = 8 
10 * 2 = 20
10 / 2 = 5.0
10 % 2 = 0
10 + 10 * 2 = 30
10 - 10 / 2 = 5.0
(10 + 10) * 2 = 40
(10 - 10) / 2 = 0.0

JavaScript

// 由左往右運算
console.log('10 + 2 = ', 10 + 2);
console.log('10 - 2 = ', 10 - 2);
console.log('10 * 2 = ', 10 * 2);
console.log('10 / 2 = ', 10 / 2);
console.log('10 % 2 = ', 10 % 2);

// 先乘除後加減
console.log('10 + 10 * 2 = ', 10 + 10 * 2);
console.log('10 - 10 / 2 = ', 10 - 10 / 2);

// 括號內先算
console.log('(10 + 10) * 2 = ', (10 + 10) * 2);
console.log('(10 - 10) / 2 = ', (10 - 10) / 2);

輸出結果:

10 + 2 = 12
10 - 2 = 8
10 * 2 = 20
10 / 2 = 5
10 % 2 = 0
10 + 10 * 2 = 30
10 - 10 / 2 = 5
(10 + 10) * 2 = 40
(10 - 10) / 2 = 0

遞增/遞減運算

除了基本的四則運算外,還有一種常用的遞增/遞減運算的方式。

C

#include <stdio.h>

int main() {
    int number = 1;

    // 以下的運算方式,都會讓 number 的值變為 2
    number = number + 1; 
    //number += 1;
    //number ++;

    printf("number: %d", number);
    return 0;
}

輸出結果:

number: 2

以上的運算方式,輸出結果都是相同的,但它們之間是有些差異:

  1. number = number + 1;
    • 執行順序:
      1. 先計算右側的 number + 1
      2. 將右側 number + 1 的結果,賦值給左側的 number
    • 實際執行:
      1. number = number + 1;
      2. number = 2;
  2. number += 1;
    • 執行順序與實際執行都與 number = number + 1;
    • number = number + 1; 的簡寫形式
  3. number ++;
    • 執行順序:直接將 number 增加 1
    • 只能將變數增加 1

Python

number = 1

# 以下的運算方式,都會讓 number 的值變為 2
number = number + 1
#number += 1

print('number: ', number)

輸出結果:

number: 2

Python 不支援 ++ 遞增操作符,因此只有兩種基本的方式。


JavaScript

var number = 1;

// 以下的運算方式,都會讓 number 的值變為 2
number = number + 1;
//number += 1;
//number ++;

console.log('number: ', number);

輸出結果:

number: 2

除去 Python 不支援 ++ 遞增操作符以外,JavaScript 與 Python 的算術運算基本都與 C 相同。


上一篇
【Day4】從零開始的程式大亂鬥:流程控制
下一篇
【Day6】從零開始的程式大亂鬥:陣列
系列文
那些有趣的程式35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言